2 require_once 'include/dir_inc.php';
4 class Bug37461Test extends Sugar_PHPUnit_Framework_TestCase {
11 $this->modules = array('Accounts');
12 $this->has_dir = array();
14 foreach($this->modules as $module) {
15 if(!file_exists("custom/modules/{$module}/metadata")){
16 mkdir_recursive("custom/modules/{$module}/metadata", true);
19 if(file_exists("custom/modules/{$module}")) {
20 $this->has_dir[$module] = true;
23 $files = array('searchdefs', 'listviewdefs');
24 foreach($files as $file) {
25 if(file_exists("custom/modules/{$module}/metadata/{$file}")) {
26 copy("custom/modules/{$module}/metadata/{$file}.php", "custom/modules/{$module}/metadata/{$file}.php.bak");
29 if(file_exists("custom/modules/{$module}/metadata/{$file}.php.suback.php")) {
30 copy("custom/modules/{$module}/metadata/{$file}.php.suback.php", "custom/modules/{$module}/metadata/{$file}.php.suback.bak");
33 if(file_exists("tests/modules/UpgradeWizard/SugarMerge/siupgrade_metadata_files/custom/modules/{$module}/metadata/{$file}.php")) {
34 copy("tests/modules/UpgradeWizard/SugarMerge/siupgrade_metadata_files/custom/modules/{$module}/metadata/{$file}.php", "custom/modules/{$module}/metadata/{$file}.php");
43 foreach($this->modules as $module) {
44 if(!$this->has_dir[$module]) {
45 rmdir_recursive("custom/modules/{$module}");
47 $files = array('searchdefs', 'listviewdefs');
48 foreach($files as $file) {
49 if(file_exists("custom/modules/{$module}/metadata/{$file}.php.bak")) {
50 copy("custom/modules/{$module}/metadata/{$file}.php.bak", "custom/modules/{$module}/metadata/{$file}.php");
51 unlink("custom/modules/{$module}/metadata/{$file}.php.bak");
52 } else if(file_exists("custom/modules/{$module}/metadata/{$file}.php")) {
53 unlink("custom/modules/{$module}/metadata/{$file}.php");
56 if(file_exists("custom/modules/{$module}/metadata/{$module}.php.suback.bak")) {
57 copy("custom/modules/{$module}/metadata/{$file}.php.suback.bak", "custom/modules/{$module}/metadata/{$file}.php.suback.php");
58 unlink("custom/modules/{$module}/metadata/{$file}.php.suback.bak");
59 } else if(file_exists("custom/modules/{$module}/metadata/{$file}.php.suback.php")) {
60 unlink("custom/modules/{$module}/metadata/{$file}.php.suback.php");
68 function test_accounts_searchdefs_merge() {
69 require_once 'modules/UpgradeWizard/SugarMerge/SearchMerge.php';
70 $this->merge = new SearchMerge();
71 $this->merge->merge('Accounts', 'tests/modules/UpgradeWizard/SugarMerge/siupgrade_metadata_files/551/modules/Accounts/metadata/searchdefs.php', 'modules/Accounts/metadata/searchdefs.php', 'custom/modules/Accounts/metadata/searchdefs.php');
72 $this->assertTrue(file_exists('custom/modules/Accounts/metadata/searchdefs.php.suback.php'));
73 require('custom/modules/Accounts/metadata/searchdefs.php');
76 //echo var_export($searchdefs, true);
78 foreach($searchdefs['Accounts']['layout']['basic_search'] as $col_key=>$col) {
79 $id = is_array($col) && isset($col['name']) ? $col['name'] : $col;
80 if(!empty($id) && !is_array($id)) {
86 $this->assertTrue(count($fields) == 6, "Assert that there are 6 fields in the basic_search layout for Accounts metadata");
89 foreach($searchdefs['Accounts']['layout']['advanced_search'] as $col_key=>$col) {
90 $id = is_array($col) && isset($col['name']) ? $col['name'] : $col;
95 $this->assertTrue(count($fields) == 18, "Assert that there are 18 fields in the advanced_search layout for Accounts metadata");
99 function test_accounts_listviewdefs_merge() {
100 require('custom/modules/Accounts/metadata/listviewdefs.php');
101 $original_fields = array();
102 $original_displayed_fields = array();
103 foreach($listViewDefs['Accounts'] as $col_key=>$col) {
104 $original_fields[$col_key] = $col;
105 if(isset($col['default']) && $col['default']) {
106 $original_displayed_fields[$col_key] = $col;
110 //echo var_export($original_displayed_fields, true);
112 require_once 'modules/UpgradeWizard/SugarMerge/ListViewMerge.php';
113 $this->merge = new ListViewMerge();
114 $this->merge->merge('Accounts', 'tests/modules/UpgradeWizard/SugarMerge/siupgrade_metadata_files/551/modules/Accounts/metadata/listviewdefs.php', 'modules/Accounts/metadata/listviewdefs.php', 'custom/modules/Accounts/metadata/listviewdefs.php');
115 $this->assertTrue(file_exists('custom/modules/Accounts/metadata/listviewdefs.php.suback.php'));
116 require('custom/modules/Accounts/metadata/listviewdefs.php');
118 $displayed_fields = array();
119 foreach($listViewDefs['Accounts'] as $col_key=>$col) {
120 $fields[$col_key] = $col;
121 if(isset($col['default']) && $col['default']) {
122 $displayed_fields[$col_key] = $col;
126 //echo var_export($displayed_fields, true);
127 //echo var_export($listViewDefs['Accounts'], true);
129 $this->assertTrue(count($displayed_fields) == count($original_displayed_fields), "Assert that there are the same number of fields displayed in the listview layout for Accounts metadata");
130 $this->assertTrue(isset($displayed_fields['NAME']), "Assert that NAME field is present");
131 $this->assertTrue(isset($displayed_fields['BILLING_ADDRESS_CITY']), "Assert that BILLING_ADDRESS_CITY field is present");
132 $this->assertTrue(isset($displayed_fields['BILLING_ADDRESS_STATE']), "Assert that BILLING_ADDRESS_CITY field is present");
133 $this->assertTrue(isset($displayed_fields['TEAM_NAME']), "Assert that TEAM_NAME (removed in 6.0 OOTB) field is present");
134 $this->assertTrue(!isset($displayed_fields['BILLING_ADDRESS_COUNTRY']), "Assert that BILLING_ADDRESS_COUNTRY (added in 6.0 OOTB) field is not present");